package com.whfc.iot.mach.entity;

import com.whfc.common.obd.ObdFrame;
import com.whfc.iot.mach.constant.MsgConst;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * OBD批量消息
 */
@Data
public class MachMsg0x06 extends MachMsg {

    public MachMsg0x06() {
        this.setCmd(MsgConst.UPSTREAM_CMD_0x06);
    }

    /**
     * 状态
     */
    private int status;

    /**
     * 时间
     */
    private Date time;

    /**
     * 数据帧数量
     */
    private int frameNum;

    /**
     * 数据帧列表
     */
    private List<ObdFrame> frameList;

    /**
     * 电池状态:
     * 0x01：正在充电
     * 0x02：充电完成
     * 0x03：未在充电
     */
    private Integer batteryState;

    /**
     * 电量百分比
     */
    private Integer batteryPower;

    /**
     * 经度标志位(4bit)
     */
    private String lngFlag;

    /**
     * 纬度标志位(4bit)
     */
    private String latFlag;

    /**
     * 经度(4-byte)
     */
    private double lngWgs84;

    /**
     * 纬度(4-byte)
     */
    private double latWgs84;

    /**
     * 主机版本号(1.0.0)
     */
    private String masterVer;

    /**
     * 主机版本号[1,0,0]
     */
    private int[] masterVerArr;

    @Override
    public int getDataLength() {
        return 22 + frameNum * 12;
    }
}
